掌握坐标轴的log转换 |
您所在的位置:网站首页 › matlab绘图函数 坐标轴取对数 › 掌握坐标轴的log转换 |
欢迎关注”生信修炼手册”! 对于跨度很大其分布离散的数据,常用log转换来缩写其差距,呈现在图上的效果也更好,比如在绘制转录组的表达量数据时,常用log转换之后的值进行绘制。在matplotlib中,支持在绘图时对数据进行log转换,根据log转换的需求,体用了以下3种函数 1. loglog, 同时对x轴和y轴的值进行log转换 2. semilogx, 只对x轴的值进行log转换,y轴的值不变 3. semilogy, 只对y轴的值进行log转换,x轴的值不变 上述3种函数本质其实是plot函数,只不过在绘制之前自动对相应的数据进行了log转换,所以plot函数的参数对于这些函数都适用,下面来具体看下用法 1. loglog 首先构建一个x轴和y轴数据都是10的乘方的散点图,代码如下 >>> import matplotlib.pyplot as plt >>> import numpy as np >>> data = np.array([1, 2, 3, 4]) >>> power_x = np.power(10 , data) >>> power_y = np.power(10 , data) >>> plt.plot(power_x, power_y)输出结果如下 通过loglog函数,可以同时对x轴和y轴的数据进行log转换,用法如下 >>> plt.loglog(power_x, power_y)输出结果如下 从效果可以看出,采用了log10转换之后的值进行绘图,同时对应的标签用乘方的方式进行标记。 2. semilogx semilogx函数只对x轴的值进行log转换,先来看下不转换时的效果,代码如下 >>> plt.plot(power_x, data)输出结果如下 只对x轴的值进行log转换,代码如下 >>> plt.semilogx(power_x, data)输出结果如下 3. semilogy semilogy函数只对y轴的值进行log转换,先来看下不转换时的效果,代码如下 >>> plt.plot(data, power_y)输出结果如下 只对y轴的值进行log转换,代码如下 >>> plt.semilogy(data, power_y)输出结果如下 除了以上基本用法外,该函数还具有以下3种专属参数 1. base, 指定对数的值,默认值为10,即进行log10的转换 2. subs,设定minor ticks的位置,默认值为None 3. nonpositive, 对非负值的处理,因为只有正数可以取log, 如果原始值为负值,此时有两种处理方式,第一种是丢掉这个点,也是默认的处理方式,对应该参数的值为mask, 在图中不显示这个点,第二种是将这个值调整为最接近的正数,对应该参数的取值为clip 为了便于对x轴和y轴精确指定,上述参数都有x轴和y轴两个版本,以base为例,具体的有basex和basey两个参数,用法如下 >>> plt.loglog(power_x, power_y, basex=2)输出结果如下 通过log系列函数,可以灵活的对数据进行log转换。 ·end· —如果喜欢,快分享给你的朋友们吧— 原创不易,欢迎收藏,点赞,转发!生信知识浩瀚如海,在生信学习的道路上,让我们一起并肩作战! 本公众号深耕耘生信领域多年,具有丰富的数据分析经验,致力于提供真正有价值的数据分析服务,擅长个性化分析,欢迎有需要的老师和同学前来咨询。 更多精彩 KEGG数据库,除了pathway你还知道哪些 全网最完整的circos中文教程 DNA甲基化数据分析专题 突变检测数据分析专题 mRNA数据分析专题 lncRNA数据分析专题 circRNA数据分析专题 miRNA数据分析专题 单细胞转录组数据分析专题 chip_seq数据分析专题 Hi-C数据分析专题 HLA数据分析专题 TCGA肿瘤数据分析专题 基因组组装数据分析专题 CNV数据分析专题 GWAS数据分析专题 2018年推文合集 2019年推文合集 写在最后 转发本文至朋友圈,后台私信截图即可加入生信交流群,和小伙伴一起学习交流。 扫描下方二维码,关注我们,解锁更多精彩内容! 一个只分享干货的 生信公众号 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |